<?php

/**
 * This is the model class for table "countries".
 *
 * The followings are the available columns in table 'countries':
 * @property string $country_iso
 * @property string $country_name
 * @property integer $ordering
 */
class Country extends CActiveRecord {

    /**
     * Returns the static model of the specified AR class.
     * @param string $className active record class name.
     * @return Country the static model class
     */
    public static function model($className = __CLASS__) {
	return parent::model($className);
    }

    /**
     * @return string the associated database table name
     */
    public function tableName() {
	return '{{countries}}';
    }

    /**
     * @return array validation rules for model attributes.
     */
    public function rules() {
	// NOTE: you should only define rules for those attributes that
	// will receive user inputs.
	return array(
	    array('country_iso', 'required'),
	    array('ordering', 'numerical', 'integerOnly' => true),
	    array('country_iso', 'length', 'max' => 2),
	    array('country_name', 'length', 'max' => 80),
	    // The following rule is used by search().
	    // Please remove those attributes that should not be searched.
	    array('country_iso, country_name, ordering', 'safe', 'on' => 'search'),
	);
    }

    /**
     * @return array relational rules.
     */
    public function relations() {
	// NOTE: you may need to adjust the relation name and the related
	// class name for the relations automatically generated below.
	return array(
	);
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels() {
	return array(
	    'country_iso' => 'Country Iso',
	    'country_name' => 'Country Name',
	    'ordering' => 'Ordering',
	);
    }

    /**
     * Retrieves a list of models based on the current search/filter conditions.
     * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
     */
    public function search() {
	// Warning: Please modify the following code to remove attributes that
	// should not be searched.

	$criteria = new CDbCriteria;

	$criteria->compare('country_iso', $this->country_iso, true);
	$criteria->compare('country_name', $this->country_name, true);
	$criteria->compare('ordering', $this->ordering);

	return new CActiveDataProvider($this, array(
	    'criteria' => $criteria,
	));
    }

    /**
     *
     */
    public static function getSelectList() {
	$return = array(
	    '--Please Select--'
	);
	$coutries = db()->createCommand()
		->select('country_iso, country_name')
		->from('{{countries}}')
		->order('country_name')
		->queryAll();

	foreach ($coutries as $country) {
	    //$return[$country['country_iso']] = $country['country_name'];
	    $return[$country['country_name']] = $country['country_name'];
	}

	return $return;
    }

}

